﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Fadada.OpenAPI.Attributes;

namespace Fadada.OpenAPI.RemoteModels.SignTasks
{
    /// <summary>
    /// 
    /// </summary>
    [RemoteService("/signtasks/createByFile", "POST")]
    public class CreateByFileRequest : BaseReqeust<CreateByFileResponse>
    {

        public List<Signers> signers { get; set; }
        public string taskSubject { get; set; }
        public Sender sender { get; set; }
        public List<Files> files { get; set; }
        public string sort { get; set; }
        public string taskConfig { get; set; }
        public string autoArchive { get; set; }
        public string status { get; set; }


        public class Signers
        {
            public string authorizedUnionId { get; set; }
            public string unionId { get; set; }
            public List<Filesigns> fileSigns { get; set; }
            public Externalsigner externalSigner { get; set; }
            public int signIntendWay { get; set; }
            public int signOrder { get; set; }
            public Notice notice { get; set; }
        }

        public class Filesigns
        {
            public Signheres signHeres { get; set; }
            public string fileId { get; set; }
        }

        public class Signheres
        {
            public string xCoordinate { get; set; }
            public string pageNumber { get; set; }
            public string yCoordinate { get; set; }
        }

        public class Externalsigner
        {
            public string personName { get; set; }
            public string companyName { get; set; }
            public string mobile { get; set; }
        }

        public class Notice
        {
            public int notifyWay { get; set; }
            public string notifyAddress { get; set; }
        }

        public class Sender
        {
            public Filesigns fileSigns { get; set; }
            public string signWay { get; set; }
            public string signOrder { get; set; }
            public string signIntendWay { get; set; }
            public Notice notice { get; set; }
        }


        public class Files
        {
            public string fileId { get; set; }
        }

    }
}